Tokenization란?

토큰화(Tokenization)는 텍스트를 AI 모델이 처리할 수 있는 의미 있는
작은 단위인 토큰(token)으로 나누는 과정입니다. 마치 요리를 하기 위해 재료를 잘게 써는 것과 같습니다.

Tokenization의 목표

토큰화의 진짜 목표는 단순히 텍스트를 나누는 것에서 그치지 않습니다.
최종 목표는 텍스트를 모델이 이해할 수 있는 숫자 시퀀스로 변환하는 것입니다.

1. 단어장 (Vocabulary) 생성

텍스트를 토큰으로 나눈 뒤 중복을 제거하여
모든 고유한 토큰의 집합인 단어장을 만듭니다.

{'I' 1, 'love' 2, 'studying' 3, 'NLP' 4}

2. 정수 인코딩
(Integer Encoding)

단어장의 각 토큰에 고유한 번호(정수 ID)를 부여합니다.

['I', 'love', 'studying', 'NLP'] → [1, 2, 3, 4]

3. 벡터화 (Vectorization)

이 숫자들을 모델이 학습할 수 있는 고차원의 벡터(dense vector)로 변환하는 마지막 단계입니다.

3 → [0.12, -0.45, ..., 0.99]

Tokenization 종류

1

글자 토큰화
(Character Tokenization)

텍스트를 가장 기본적인 단위인 글자(character) 하나하나로 모두 분절하는 방식입니다.

  • 작동 방식
    Hello → ['H', 'e', 'l', 'l', 'o']
  • 장점
    OOV(처음 보는 단어) 문제가 전혀 발생하지 않고
    단어장의 크기가 매우 작습니다.
  • 단점
    단어 고유의 의미가 사라지고 시퀀스 길이가
    너무 길어져 모델이 문맥을 파악하기 어렵습니다.
2

단어 토큰화
(Word Tokenization)

띄어쓰기나 구두점 등 상식적인 구분자를 기준으로 텍스트를 단어(word) 단위로 분절하는 방식입니다.

  • 작동 방식
    I love studying NLP. →
    ['I', 'love', 'studying', 'NLP', '.']
  • 장점
    간단하고 이해하기 쉽습니다.
  • 단점
    'study'만 아는 모델이 'studying'을 만나면
    처음 보는 단어(OOV)로 인식하는 문제가 있습니다.
3

서브워드 토큰화
(Subword Tokenization)

단어를 통계적으로 의미 있는 더 작은 단위(subword)로 분절하여 단어와 글자의 장점을 모두 취하는 방식입니다.

  • 작동 방식
    preprocessing → ['pre', 'processing']
    studying → ['study', '##ing']
  • 장점
    처음 보는 단어가 나와도 아는 조각들의 조합으로 표현하여 OOV 문제를 효과적으로 해결합니다.
  • 종류
    BPE, WordPiece, SentencePiece 등
4

형태소 토큰화
(Morphological Tokenization)

단어를 언어의 문법적 최소 의미 단위인 형태소(morpheme)로 분절하는 방식입니다.

  • 작동 방식
    나는 공부를 했다. →
    ['나', '는', '공부', '를', '하', '었', '다']
    (대명사, 조사, 명사, 조사, 동사 어근, 어미)
  • 장점
    언어의 문법적 구조를 정확하게 반영하여 정교한 분석이 가능합니다.
  • 종류
    Mecab, Okt, Komoran 등

언제 무엇을 쓸까?

현재의 표준은 서브워드 토큰화

BERT, GPT와 같은 현대적인 딥러닝 모델은 이미 대규모 데이터로 학습된 자체 서브워드 토크나이저를 함께 제공합니다.
대부분의 경우, 우리는 이 모델에 맞춰진 토크나이저를 그대로 사용하는 것이 베스트 프랙티스입니다.
모델이 학습한 방식 그대로 텍스트를 이해시켜야 최고의 성능을 낼 수 있기 때문입니다.

검색 및 정교한 분석에는 형태소 토큰화

'아이폰'과 '아이폰으로'를 같은 단어로 인식해야 하는 검색 엔진이나, 법률/의료 문서처럼 문법적 분석이 중요한 도메인에서는 여전히 형태소 분석기가 매우 강력한 성능을 보입니다. 이 경우, 형태소 분석기로 텍스트를 먼저 처리한 뒤 다음 단계로 넘기기도 합니다.

기준선(Baseline) 모델에는 단어 토큰화

TF-IDF나 Word2Vec 같은 전통적인 통계 기반 모델의 성능을 빠르게 확인하기 위한 기준선을 만들 때
간단하고 직관적인 단어 토큰화를 사용하곤 합니다.